home *** CD-ROM | disk | FTP | other *** search
/ Winzipper / Winzipper_ISO.iso / programming / oracle7 7.2 / DB / RDBMS72 / RDBMS72.VRF < prev    next >
Encoding:
Text File  |  1995-10-17  |  36.7 KB  |  776 lines

  1. /* Copyright (c) Oracle Corporation 1992.  All Rights Reserved */
  2. /*****************************************************************************
  3.   NAME
  4.     rdbms72.vrf - Windows 95 V3 installation verification script for the
  5.                   Personal Oracle7 DBMS.
  6.  
  7.   DESCRIPTION
  8.     This script checks dependencies and environment settings for installation
  9.     of the Personal Oracle7 DBMS product and prompts the user for the option
  10.     of creating a seed database.
  11.  
  12.   OWNER
  13.     Tony Rodgers
  14.  
  15.   MODIFIED    DD-MMM-YY Reason
  16.   LMurphy      06/13/95 - Modified for use with 7.2/Windows 95
  17.   LMurphy      11/29/94 - modified NT RDBMS script for Personal Oracle7
  18.   syau         07/01/94 - 7.1.3
  19.   HA!          04/18/94   7.1.2 and 3.0.10.2
  20.    Hartenstine 04/20/93 - WIN_NT: Adapt to Windows NT
  21.     Colello    10/09/92 - DESKTOP: add demo and doc files
  22.     trodgers  01-APR-92 Created.
  23. *****************************************************************************/
  24. {
  25.   { doit = execute("%installer_home%\win95.vrf"); }
  26.   [
  27.     'UNBOUND_VARIABLE:
  28.       {
  29.         required_version = product_version(w95instver);
  30.         temp = explode(required_version,".");
  31.         required_version = implode(list(first(temp),first(rest(temp)),
  32.                                         first(rest(rest(temp))),
  33.                                         first(rest(rest(rest(temp))))),".");
  34.         signal('failure,instantiate(nls("instver_too_early1","The version of the Installer currently running is %%installer_version%%. The installation you have chosen requires version %%required_version%% or later. Please run version %%required_version%% or later in order to perform this installation.")));
  35.       }
  36.   ]
  37.  
  38.   if (not(doit) && (version_status == 'reinstall))
  39.   {
  40.     if(member(selected_products, current_product) ||
  41.        member(selected_products, product_parent(current_product)))    
  42.       doit = TRUE;    
  43.   }
  44.  
  45.   if (doit)
  46.     {
  47.       /***********************************************************************
  48.           Set the VRF-INS script "ratchet"
  49.        ***********************************************************************/
  50.  
  51.       vrf_ratchet = "7.2.2.3.1";
  52.  
  53.       permit_retry_operations = FALSE;
  54.  
  55.       /***********************************************************************
  56.          Bind path variables...
  57.       ************************************************************************/
  58.  
  59.       {
  60.         set_rdbms72 = FALSE;
  61.         rdbms72 = v7_translate("RDBMS72");
  62.  
  63.         if (not(exists(rdbms72)))
  64.           signal('UNBOUND_ENVIRONMENT_VARIABLE);
  65.       }
  66.         [ 'OS_ERROR,'INVALID_FILE_NAME,
  67.           'PERMISSION_DENIED,'UNBOUND_ENVIRONMENT_VARIABLE:
  68.           {
  69.             rdbms72 = "%oracle_home%\RDBMS72";
  70.             set_rdbms72 = TRUE;
  71.           }
  72.         ]
  73.  
  74.       {
  75.         rdbms_files = v7_translate("RDBMS_FILES");
  76.  
  77.         if (not(exists(rdbms_files)))
  78.           signal('UNBOUND_ENVIRONMENT_VARIABLE);
  79.       }
  80.         [ 'OS_ERROR,'INVALID_FILE_NAME,
  81.           'PERMISSION_DENIED,'UNBOUND_ENVIRONMENT_VARIABLE:
  82.           {
  83.             rdbms_files = "%oracle_home%\DATABASE";
  84.           }
  85.         ]
  86.  
  87.      {
  88.         set_plsql22 = FALSE;
  89.         plsql22 = v7_translate("PLSQL22");
  90.  
  91.         if (not(exists(plsql22)))
  92.           signal('UNBOUND_ENVIRONMENT_VARIABLE);
  93.       }
  94.         [ 'OS_ERROR,'INVALID_FILE_NAME,
  95.           'PERMISSION_DENIED,'UNBOUND_ENVIRONMENT_VARIABLE:
  96.           {
  97.             plsql22 = "%oracle_home%\PLSQL22";
  98.             set_plsql22 = TRUE;
  99.           }
  100.         ]
  101.  
  102.       {
  103.         set_mshelp = FALSE;
  104.         mshelp = v7_translate("MSHELP");
  105.  
  106.         if (not(exists(mshelp)))
  107.           signal('UNBOUND_ENVIRONMENT_VARIABLE);
  108.       }
  109.         [ 'OS_ERROR,'INVALID_FILE_NAME,
  110.           'PERMISSION_DENIED,'UNBOUND_ENVIRONMENT_VARIABLE:
  111.           {
  112.             mshelp = "%oracle_home%\MSHELP";
  113.             set_mshelp = TRUE;
  114.           }
  115.         ]
  116.  
  117.  
  118.     { bundle_name = bundle_name; }
  119.         [ 'UNBOUND_VARIABLE: bundle_name = nls("bundle_name","Personal Oracle7 for Windows 95"); ]
  120.  
  121. /* Determine which type of install - only Custom Install asks questions */
  122.     {
  123.     if (install_type == install_type_custom)
  124.         custom_install = TRUE;
  125.     else
  126.         custom_install = FALSE;
  127.     }
  128.     [ 'UNBOUND_VARIABLE: custom_install = TRUE; ]
  129.  
  130.     { web_install = web_install; }
  131.     [ 'UNBOUND_VARIABLE: web_install = FALSE; ]
  132.  
  133.  
  134.       /***********************************************************************
  135.          Bind string variables & prompt strings...
  136.       ***********************************************************************/
  137.  
  138.       start_database_name = nls("start_database_name","Start Database");
  139.       stop_database_name = nls("stop_database_name","Stop Database");
  140.       recovery_name = nls("recovery_name","The Recovery Manager");
  141.       backup_name = nls("backup_name","The Backup Manager");
  142.       readme_name = nls("readme_name","Readme");
  143.  
  144.       reinstall_warning = instantiate(nls("reinstall_warning","The Oracle Installer detected a previously installed %%bundle_name%% Database on your machine.  Do you wish to overwrite this database with the Starter Database?
  145.  
  146. Choosing YES will DESTROY your existing data.  Choosing NO will prevent the installation of the Starter Database."));
  147.       reinstall_help = instantiate(nls("reinstall_help", "The Oracle Installer has detected that you currently have a database on your machine.  This database may be a previously installed Starter Database or it may be a database that you created.
  148.  
  149. If your intention is to overwrite the existing database with a new Starter Database then choose 'Yes'.  Your existing database will no longer be accessaile.
  150.  
  151. If you don't want to overwrite your existing database then choose 'No'.  Your existing database will remain intact and the Starter Database will not be installed."));
  152.  
  153.       reinstall_sure = instantiate(nls("reinstall_sure", "Are you sure?"));
  154.       reinstall_sure_content = nls("reinstall_sure_content", "Confirmation");
  155.       reinstall_sure_help = instantiate(nls("reinstall_sure_help", "Please verify if you wish to overwrite the previously installed database."));
  156.  
  157.       sqldba_err = instantiate(nls("sqldba_err", "SQL*DBA could not be run to initialize your Starter Database."));
  158.       orapwd_err = instantiate(nls("orapwd_err", "Oracle Password Utility could not be run to initialize your password file."));
  159.       orakill_err = instantiate(nls("orakill_err", "The Installer was unable to shutdown ORACLE7 (ORACLE72.EXE)."));
  160.       sqldba_fail = instantiate(nls("sqldba_fail", "There was an error in initializing the Starter Database.  Please see the file %%rdbms72%%\TRACE\BUILD.LOG for details."));
  161.       no_build_log = instantiate(nls("no_build_log", "There was an error in using SQL*DBA to initialize the Starter Database."));
  162.  
  163.       db_inst_cancelled = instantiate(nls("db_inst_cancelled", "%%bundle_name%% installation canceled."));
  164.       under_nt_prompt = instantiate(nls("under_nt_prompt", "The Oracle Installer has detected that you are attempting to install %%bundle_name%% under Windows NT.  This configuration is not supported.  Do you wish to continue the installation?"));
  165.       under_win31 = instantiate(nls("under_win31", "The Oracle Installer has detected that you are attempting to install %%bundle_name%% under Windows 3.1x.  This configuration is not supported."));
  166.       nodetectc = instantiate(nls("nodetectc", "The Oracle Installer could not detect whether the installation drive is compressed."));
  167.       nodetect_orarun = instantiate(nls("nodetect_orarun", "The Oracle Installer could not detect whether a %%bundle_name%% Database is running.  If you know there is no database running, select YES to continue the installation.  Otherwise, select NO,  determine your database status and rerun the Oracle Installer."));
  168.       nodetect_orarun_help = instantiate(nls("nodetect_orarun", "The %%bundle_name%% Database cannot be running during installation.  Please verify the database is not running before attempting installation."));
  169.       nodetect_orarun_content = instantiate(nls("nodetect_orarun_content", "Database Status"));
  170.  
  171.  
  172.       util72_expl = nls("util72_expl", "%%util_prod%% is currently running on this machine. Please close this application before installing %%product_label%%.
  173.  
  174. Silent mode installation of %%product_label%% terminated.");
  175.       util72_inst = nls("util72_inst", "%%util_prod%% is currently running on this machine. Please close this application before installing %%product_label%%.
  176.  
  177. Choose OK after you have closed all Oracle applications and want to resume the installation of %%product_label%%.
  178.  
  179. Choose CANCEL to terminate the installation of %%product_label%%.");
  180.       util72_inst_term = instantiate(nls("util72_inst_term", "%%product_label%% installation terminated."));
  181.       util72_inst_content = nls("util72_inst_content", "%%util_prod%% Running");
  182.       util72_inst_help = nls("util72_inst_help", "The Oracle Installer has detected that %%util_prod%% is currently running on this machine.  Please close this application before installing %%product_label%%.
  183.  
  184. Choose OK after you have closed all Oracle applications and want to resume the installation of %%product_label%%.
  185.  
  186. Choose CANCEL to terminate the installation of %%product_label%%.");
  187.  
  188.       oracle7_expl = nls("oracle7_expl", "Oracle7 (ORACLE72.EXE) is currently running on this machine.  Before installing this software, please shut down the database and stop Oracle7 by running Stop Database.
  189.  
  190. Silent mode installation of %%product_label%% terminated.");
  191.       oracle7_run = instantiate(nls("oracle7_run", "Oracle7 (ORACLE72.EXE) is currently running on this machine.  Before installing this software, please shut down the database and stop Oracle7 by running Stop Database.
  192.  
  193. Choose OK after you have closed all Oracle applications and want to resume the installation of %%product_label%%.
  194.  
  195. Choose CANCEL to terminate the installation of %%product_label%%.
  196.       "));
  197.       rdbms_inst_term = instantiate(nls("rdbms_inst_term", "Oracle7 DBMS installation terminated."));
  198.       oracle7_run_content = instantiate(nls("oracle7_run_content", "Oracle7 kernel"));
  199.       oracle7_run_help = instantiate(nls("oracle7_run_help", "The Oracle Installer has detected that Oracle7 (ORACLE72.EXE) is currently running on this machine.  Please shut down the database and stop Oracle7 before installing this software.
  200.  
  201. To shut down the database, run Stop Database.
  202.  
  203. Choose OK after you have closed all Oracle applications and want to resume the installation of %%product_label%%.
  204.  
  205. Choose CANCEL to terminate the installation of %%product_label%%.
  206.  
  207. "));
  208.  
  209.       seedstd_total = sum(seed, "STD");
  210.       seedrep_total = sum(seed, "REP");
  211.       seedstd = seedstd_total / 1024;
  212.       seedstd = seedstd / 1024;
  213.       seedrep = seedrep_total / 1024;
  214.       seedrep = seedrep / 1024;
  215.       total_seed_size_std = stringify(seedstd, FALSE);
  216.       total_seed_size_rep = stringify(seedrep, FALSE);
  217.  
  218.       seed_help = instantiate(nls("seed_help","The Oracle Installer can automatically create a Starter Database for you at this time.  Or, after installation, you may manually create a new database by following the instructions in the Oracle7 DBMS Help file.  The Starter Database requires %%total_seed_size_std%%M disk space."));
  219.       seed_content = nls("seed_content","Starter Database");
  220.       reinstall_seed_content = nls("reinstall_seed_content","Starter Database");
  221.  
  222.       std_seed = instantiate(nls("std_seed", "Standard"));
  223.       rep_seed = instantiate(nls("rep_seed", "Replication"));
  224.       no_seed = instantiate(nls("no_seed", "None"));
  225.       std_seed_size = instantiate(nls("std_seed_size", "%%total_seed_size_std%%M disk space"));
  226.       rep_seed_size = instantiate(nls("rep_seed_size", "%%total_seed_size_rep%%M disk space"));
  227.       no_seed_size = instantiate(nls("no_seed_size", "0M disk space"));
  228.       std_seed_prompt = instantiate(nls("std_seed_prompt", "%%std_seed%% (%%std_seed_size%%)"));
  229.       rep_seed_prompt = instantiate(nls("rep_seed_prompt", "%%rep_seed%% (%%rep_seed_size%%)"));
  230.       no_seed_prompt = instantiate(nls("no_seed_prompt", "%%no_seed%% (%%no_seed_size%%)"));
  231.       db_list1 = list(std_seed_prompt, rep_seed_prompt);
  232.       db_list2 = list(std_seed_prompt, rep_seed_prompt, no_seed_prompt);
  233.  
  234.       db_prompt = instantiate(nls("db_prompt","Please select the type of Starter Database you want to install.  For a description of the choices available, select Help."));
  235.       db_help = instantiate(nls("db_help","A Starter Database is a database (a set of files) that is fully configured and ready for use with Personal Oracle7.  We expect that this one database will meet all your needs for one or many projects.
  236.  
  237. The replication Starter Database is appropriate if you will be using Personal Oracle7 with a remote Oracle7 Server database and will be using Oracle's updatable snapshot (update anywhere) data replication feature.  A larger Starter Database is required.
  238.  
  239. The standard Starter Database is appropriate for all other uses, including using Personal Oracle7 with a remote Oracle7 Server database where you will use only the read-only snapshot (publish and subscribe) data replication feature.  A smaller Starter Database can be used.
  240.  
  241. During a Custom Install, you can also choose to install no Starter Database.  This is only recommended for advanced users who need to create their own database, or if you will be migrating your Personal Oracle for Windows 3.1 database files for use with Personal Oracle7 for Windows 95."));
  242.       db_content = nls("db_content","Starter Database Installation Options");
  243.  
  244.       drive_help = nls("drive_help","You have selected to install the Personal Oracle7 Starter Database to a compressed disk drive.  The Oracle7 Starter Database must be located on a non-compressed disk drive.  A list of the non-compressed disk drives with enough disk space for the Starter Database selected is displayed.  Please choose where you wish to install the Starter Database by selecting one of the disk drives listed.  The Starter Database will be located in %%user_dir%%\DATABASE on the disk drive you choose.
  245.  
  246. For more information on installing Personal Oracle7 for Windows 95 on compressed disk drives or for creating non-compressed disk space on a computer which has only compressed disk space, please see the Readme.doc file located in the Win95 directory of your release media.");
  247.       drive_content = nls("drive_content","Compressed Drives");
  248.       choose_drive = instantiate(nls("choose_drive","The Installer has detected that you are trying to install the Personal Oracle7 Starter Database to a compressed disk drive.  The Starter Database, however,  must be located on a non-compressed disk drive.  Please select an alternative, non-compressed, disk drive where you wish to install the Starter Database."));
  249.       no_uncomp_drives = instantiate(nls("no_uncomp_drives", "The Installer has detected that you are trying to install the Oracle7 Starter Database to a compressed drive.  The Starter Database must be located on a non-compressed disk drive.  The Installer has detected that there are either no non-compressed disk drives or no non-compressed disk drives with enough disk space to install the Starter Database.
  250.  
  251. For more information on installing Personal Oracle7 for Windows 95 on compressed disk drives or for creating non-compressed disk space on a computer which has only compressed disk drives please see the Readme.doc file located in the Win95 directory of your release media."));
  252.  
  253.       comp_drive_no_seed = instantiate(nls("comp_drive_no_seed", "You have chosen not to install the Starter Database.  Please note that the disk drive you have selected to install Personal Oracle7 to is a compressed disk drive.  While Personal Oracle7 program files can be located on compressed drive, a Personal Oracle7 database (e.g. the database files) can only be located on a non-compressed disk drive.  Locating database files on compressed disk drives is not supported.
  254.  
  255. For more information on installing Personal Oracle7 for Windows 95 on compressed disk drives please see the Readme.doc file located in the Win95 directory of your release media."));
  256.  
  257.  
  258.       win31_oracle_not_detected = instantiate(nls("win31_oracle_not_detected", "In order to use Oracle products for Windows 3.1 installed to Windows 95 with Personal Oracle7 for Windows 95, the Oracle product software (Required Support Files) for Windows 3.1 installation must be updated.
  259.  
  260. The Installer has examined your Windows 95 system and found that either
  261.  
  262.    *  there are no Oracle products for Windows 3.1
  263.       installed to your Windows 95 system OR
  264.  
  265.    *  the update could not be performed
  266.       successfully (a rare occurrence)
  267.  
  268. If subsequent to this installation you want the ability to use Oracle products for Windows 3.1 with Personal Oracle7 for Windows 95 please see the Readme.doc file located in the ORA16UPD directory of your release media."));
  269.  
  270.       win31_oracle_updated = instantiate(nls("win31_oracle_updated", "In order to use Oracle products for Windows 3.1 installed to Windows 95 with Personal Oracle7 for Windows 95, the Oracle product software (Required Support Files) for Windows 3.1 installation must be updated.
  271.  
  272. The Installer has detected that you have Oracle products for Windows 3.1 installed to Windows 95 and has automatically performed this update for you.
  273.  
  274. If subsequent to this installation you re-install or install additional Oracle products for Windows 3.1 to Windows 95 you will need to reapply this update.  For information on doing this, please see the Readme.doc file located in the ORA16UPD directory of your release media."));
  275.  
  276.       rsf_update = instantiate(nls("rsf_update", "In order to use Oracle products for Windows 3.1 installed to Windows 95 with Personal Oracle7 for Windows 95, the Oracle product software (Required Support Files) for Windows 3.1 installation must be updated.  Please see the Readme.doc located on your release media for instructions on how to update your Oracle for Windows 3.1 installation."));
  277.  
  278.       new_seed_dir_failed = instantiate(nls("new_seed_dir_failed","The Installer failed to create the directory for the Starter Database files on your non-compressed drive.  The Starter Database will not be installed."));
  279.  
  280.       starter_db = instantiate(nls("starter_db","Do you wish to install the Starter Database?  Please note that the Replication Starter Database is not available in the Trial release."));
  281.  
  282.       installing_scripts = nls("installing_scripts",
  283.                                "Installing %%product_label%% Scripts...");
  284.       installing_msg = nls("installing_msg",
  285.                                "Installing %%product_label%% Message Files...");
  286.       installing_executables = nls("installing_executables",
  287.                                "Installing %%product_label%% Executables...");
  288.       installing_admin = nls("installing_admin",
  289.                                "Installing %%product_label%% Administration Files...");
  290.       installing_dlls = nls("installing_dlls",
  291.                                "Installing %%product_label%% Dynamic Link Libraries...");
  292.       installing_doc = nls("installing_doc",
  293.                                "Installing %%product_label%% Help Files...");
  294.       installing_oci = nls("installing_oci",
  295.                                "Installing %%product_label%% OCI Files...");
  296.  
  297.       installing_sql = nls("installing_sql",
  298.                                "Installing %%product_label%% SQL Scripts...");
  299.       installing_seed = nls("installing_seed",
  300.                                "Installing Starter Database...");
  301.       moving_files = instantiate(nls("moving_files", "Moving database and log files..."));
  302.       modifying_config = instantiate(nls("modifying_config",
  303.                                "Modifying Windows 95 Registry..."));
  304.       starting_up = instantiate(nls("starting_up","Initializing the Starter Database..."));
  305.       setting_password = instantiate(nls("setting_password","Initializing Password File..."));
  306.       registering = nls("registering","Registering %%product_label%%...");
  307.       setting_password = nls("setting_password", "Setting %%product_label%% Password...");
  308.  
  309.       yes_prompt = nls("yes_prompt", "Yes");
  310.       no_prompt = nls("no_prompt", "No");
  311.       ynprompt = list(yes_prompt, no_prompt);
  312.  
  313.       drive_label = nls("drive_label", "Non-Compressed Drive");
  314.  
  315. /* NLS declaration for setnls.vrf script */
  316.  
  317.    yesr_prompt = nls("yesr_prompt", "Yes (Recommended)");
  318.    ynrprompt = list(yesr_prompt, no_prompt);
  319.    charset_prompt  = instantiate(nls("charset_prompt","Select a character set in which to create the Starter Database."));
  320.    charset_help    = instantiate(nls("charset_help","The Starter Database will be created in the character set specified."));
  321.    charset_content = nls("charset_content","Starter Database Character Set");
  322.    charset_label = nls("charset_label","Character Set");
  323.  
  324.    summary1_prompt = nls("summary1_prompt","Based on the previously chosen language of '%%starter_language%%', the Starter Database is currently configured to use the '%%starter_charset%%' character set.  Would you like to accept this character set?");
  325.    summary1_help = nls("summary1_help","A Personal Oracle7 database can be created to store data in many different character sets.  A default character set is provided for the language you previously selected.  In most cases you should use this default character set.
  326.  
  327. If, however, you have special needs or know that you need to use a different character set for your location, then you can change the character set for the Starter Database at this time.  Once you create a database the character set cannot be changed.
  328.  
  329. Choose 'Yes' to accept the default character set.  Choose 'No' if you want to change the character set used for the Starter Database.");
  330.    summary1_content = nls("summary1_content","Starter Database Summary");
  331.  
  332.    summary2_prompt = nls("summary2_prompt","The Starter Database is now configured to use the '%%starter_charset%%' character set.  Would you like to accept this character set?");
  333.    summary2_help = instantiate(nls("summary2_help","The Starter Database will be created with the character set specified."));
  334.    summary2_content = nls("summary2_content","Starter Database Summary");
  335.  
  336.  
  337. /*****************************************************************************
  338.    Start processing ...
  339. *****************************************************************************/
  340.       
  341.     ui_product(product_label);
  342.  
  343.         { prod_id = win32_get_value("HKEY_LOCAL_MACHINE", "Software\Microsoft\Windows\CurrentVersion", "ProductId"); }
  344.     [ 'FILE_NOT_FOUND, 'INVALID_KEY, 'OS_ERROR: prod_id = "CHANGE_ON_INSTALL"; ]
  345.  
  346.     prod_id = replace(prod_id, "-", "");
  347.     prod_id_list = list("SYS", prod_id);
  348.     product_id = implode(prod_id_list);
  349.  
  350.     curr_dir = directory_name(current_script);
  351.     execute("%curr_dir%\setstart.vrf");
  352.  
  353.     seed_default  = "%ORACLE_HOME%\DATABASE";
  354.     seed_charset = "WE8ISO8859P1";
  355.  
  356.     init_processes                     = 50;
  357.     init_db_block_buffers              = 200;
  358.     init_db_file_multiblock_read_count = 8;
  359.     init_shared_pool_size              = 3500000;
  360.     init_dml_locks                     = 100;
  361.     init_log_buffer                    = 8192;
  362.     init_sequence_cache_entries        = 10;
  363.     init_sequence_cache_hash_buckets   = 10;
  364.  
  365. /* LMurphy - see if oracle is running */
  366. /* if so, exit installer */
  367.  
  368.         done = FALSE;
  369.         while(not(done))
  370.         { move_file("%ORACLE_HOME%\bin\oracle72.exe", "%ORACLE_HOME%\bin\oracle72.exe"); done = TRUE;}
  371.     [ 'PERMISSION_DENIED, 'INVALID_FILE_NAME, 'OS_ERROR, 'WRITE_ERROR:
  372.     {
  373.                 if (silent_mode)
  374.                         signal('FAILURE, instantiate(oracle7_expl));
  375.                 else
  376.                         information_dialog(oracle7_run, oracle7_run_content, oracle7_run_help);
  377.     }
  378.       'FILE_NOT_FOUND:
  379.                 done = TRUE;
  380.     ]
  381.  
  382.       /* check to see if util72 components are closed */
  383.       done = FALSE;
  384.       while(not(done))
  385.       {
  386.         move_file("%ORACLE_HOME%\bin\vsrcv.exe", "%ORACLE_HOME%\bin\vsrcv.exe");
  387.         done = TRUE;
  388.       }
  389.       [ 'PERMISSION_DENIED, 'INVALID_FILE_NAME, 'OS_ERROR, 'WRITE_ERROR:
  390.         {
  391.           util_prod = nls("vsrcv","The Recovery Manager");
  392.           if (silent_mode)
  393.             signal('FAILURE, instantiate(util72_expl));
  394.           else
  395.             information_dialog(instantiate(util72_inst), instantiate(util72_inst_content), instantiate(util72_inst_help));
  396.         }
  397.         'FILE_NOT_FOUND:
  398.           done = TRUE;
  399.       ]
  400.  
  401.       done = FALSE;
  402.       while(not(done))
  403.       {
  404.         move_file("%ORACLE_HOME%\bin\vsbck.exe", "%ORACLE_HOME%\bin\vsbck.exe");
  405.         done = TRUE;
  406.       }
  407.       [ 'PERMISSION_DENIED, 'INVALID_FILE_NAME, 'OS_ERROR, 'WRITE_ERROR:
  408.         {
  409.           util_prod = nls("vsbck","The Backup Manager");
  410.           if (silent_mode)
  411.             signal('FAILURE, instantiate(util72_expl));
  412.           else
  413.             information_dialog(instantiate(util72_inst), instantiate(util72_inst_content), instantiate(util72_inst_help));
  414.         }
  415.         'FILE_NOT_FOUND:
  416.           done = TRUE;
  417.       ]
  418.  
  419.  
  420. /* LMurphy - determine installation options */
  421.  
  422. /* Is there a database already installed on this machine? */
  423.  
  424.    prev_db_inst = exists("%RDBMS_FILES%\ctl1orcl.ora");
  425.    db_type = "STD";
  426.  
  427.    if (custom_install)
  428.    {
  429.     if (web_install)
  430.     {
  431.      mark
  432.      {
  433. /*
  434.        install_seed_database = yesno_dialog(starter_db, TRUE, seed_content, seed_help); */
  435.         install_seed_database = single_selection_dialog(starter_db, ynprompt, yes_prompt, seed_content, seed_help);
  436.         if (install_seed_database == yes_prompt)
  437.         install_seed_database = TRUE;
  438.     else
  439.         install_seed_database = FALSE;
  440.          if (install_seed_database)
  441.      {
  442.         if (prev_db_inst)
  443.                 mark
  444.         {
  445.                         install_seed_database = single_selection_dialog(reinstall_warning, ynprompt, no_prompt, reinstall_seed_content,reinstall_help);
  446.                         if (install_seed_database == yes_prompt)
  447.                 install_seed_database = TRUE;
  448.             else
  449.                 install_seed_database = FALSE;
  450.             if (install_seed_database)
  451.                         mark
  452.             {
  453.                                 ok = FALSE;
  454.                                 while(not(ok))
  455.                                 {
  456.                                         install_seed_database = single_selection_dialog(reinstall_sure, ynprompt, yes_prompt, reinstall_sure_content, reinstall_sure_help);
  457.                                         if (install_seed_database == yes_prompt)
  458.                                         {
  459.                                                 install_seed_database = TRUE;
  460.                                                 getnls = TRUE;
  461.                                                 {
  462.                                                         execute("%curr_dir%\setnls.vrf");
  463.                                                         ok = TRUE;
  464.                                                 }
  465.                                                 ['FAILURE: signal('FAILURE, cancel_prompt01);
  466.                                                  'CANCEL: signal('CANCEL, cancel_prompt01);
  467.                                                  'DEFAULT: continue();
  468.                                                 ]
  469.                                         }
  470.                                         else
  471.                                         {
  472.                                                 install_seed_database = FALSE;
  473.                                                 ok = TRUE;
  474.                                         }
  475.                                 }
  476.             }
  477.         }
  478.                 else if (install_seed_database)
  479.                 {
  480.                         getnls = TRUE;
  481.                         execute("%curr_dir%\setnls.vrf");
  482.                 }
  483.        }
  484.      }
  485.     }
  486.     else
  487.     {
  488.      db_check = std_seed_prompt;
  489.      mark
  490.      {
  491.        option_chosen = single_selection_dialog(db_prompt,
  492.                                                   db_list2,
  493.                           db_check,
  494.                                                   db_content,
  495.                                                   db_help);
  496.         
  497.        db_check = option_chosen;
  498.        install_seed_database = FALSE;
  499.        
  500.        {
  501.      if (option_chosen != no_seed_prompt)
  502.      {
  503.          install_seed_database = TRUE;
  504.              if (prev_db_inst)
  505.              mark
  506.              {
  507.                         install_seed_database = single_selection_dialog(reinstall_warning, ynprompt, no_prompt, reinstall_seed_content,reinstall_help);
  508.                         if (install_seed_database == yes_prompt)
  509.                 install_seed_database = TRUE;
  510.             else
  511.                 install_seed_database = FALSE;
  512.             if (install_seed_database)
  513.                         mark
  514.             {
  515.                                 ok = FALSE;
  516.                                 while(not(ok))
  517.                                 {
  518.                                         install_seed_database = single_selection_dialog(reinstall_sure, ynprompt, yes_prompt, reinstall_sure_content, reinstall_sure_help);
  519.                                         if (install_seed_database == yes_prompt)
  520.                                         {
  521.                                                 install_seed_database = TRUE;
  522.                                                 getnls = TRUE;
  523.                                                 {
  524.                                                         execute("%curr_dir%\setnls.vrf");
  525.                                                         ok = TRUE;
  526.                                                 }
  527.                                                 ['FAILURE: signal('FAILURE, cancel_prompt01);
  528.                                                  'CANCEL: signal('CANCEL, cancel_prompt01);
  529.                                                  'DEFAULT: continue();
  530.                                                 ]
  531.                                         }
  532.                                         else
  533.                                         {
  534.                                                 install_seed_database = FALSE;
  535.                                                 ok = TRUE;
  536.                                         }
  537.                                 }
  538.             }
  539.               }
  540.               else if (install_seed_database)
  541.               {
  542.                         getnls = TRUE;
  543.                         execute("%curr_dir%\setnls.vrf");
  544.               }
  545.      }
  546.     
  547.        }
  548.      }
  549.     }
  550.    }
  551.    else
  552.    {
  553.     if (web_install)
  554.     {
  555.     install_seed_database = TRUE;
  556.         if (prev_db_inst)
  557.         mark
  558.     {
  559.                         install_seed_database = single_selection_dialog(reinstall_warning, ynprompt, no_prompt, reinstall_seed_content,reinstall_help);
  560.                         if (install_seed_database == yes_prompt)
  561.                 install_seed_database = TRUE;
  562.             else
  563.                 install_seed_database = FALSE;
  564.             if (install_seed_database)
  565.                         mark
  566.             {                                
  567.                                 install_seed_database = single_selection_dialog(reinstall_sure, ynprompt, yes_prompt, reinstall_sure_content, reinstall_sure_help);
  568.                                 if (install_seed_database == yes_prompt)
  569.                     install_seed_database = TRUE;
  570.                 else
  571.                     install_seed_database = FALSE;
  572.             }
  573.         }
  574.     if (install_seed_database)
  575.     {
  576.         getnls = FALSE;
  577.         execute("%curr_dir%\setnls.vrf");
  578.     }
  579.     }
  580.     else
  581.     {
  582.      db_check = std_seed_prompt;
  583.      mark
  584.      {
  585.        option_chosen = single_selection_dialog(db_prompt,
  586.                                                   db_list1,
  587.                           db_check,
  588.                                                   db_content,
  589.                                                   db_help);
  590.  
  591.  
  592.        db_check = option_chosen;
  593.        install_seed_database = TRUE;
  594.        mark
  595.        {
  596.     if (prev_db_inst)
  597.     {
  598.                         install_seed_database = single_selection_dialog(reinstall_warning, ynprompt, no_prompt, reinstall_seed_content,reinstall_help);
  599.                         if (install_seed_database == yes_prompt)
  600.                 install_seed_database = TRUE;
  601.             else
  602.                 install_seed_database = FALSE;
  603.             if (install_seed_database)
  604.                         mark
  605.             {                                
  606.                                 install_seed_database = single_selection_dialog(reinstall_sure, ynprompt, yes_prompt, reinstall_sure_content, reinstall_sure_help);
  607.                                 if (install_seed_database == yes_prompt)
  608.                     install_seed_database = TRUE;
  609.                 else
  610.                     install_seed_database = FALSE;
  611.             }
  612.         }
  613.         if (install_seed_database)
  614.         {
  615.                 getnls = FALSE;
  616.         execute("%curr_dir%\setnls.vrf");
  617.         }
  618.        }
  619.      }
  620.     }
  621.    }
  622.  
  623.  
  624.        if (install_seed_database)
  625.        {
  626.     if (web_install)
  627.     {
  628.         db_type = "STD";
  629.     }
  630.     else
  631.     {
  632.         if (option_chosen == std_seed_prompt)
  633.         {
  634.             db_type = "STD";
  635.         }
  636.         else
  637.         {
  638.             if (option_chosen == rep_seed_prompt)
  639.             {
  640.                 db_type = "REP";
  641.             }
  642.         }
  643.     }
  644.        }
  645.  
  646. /* LMurphy - determine if installation drive is compressed */
  647.    
  648.     install_loc    = "%ORACLE_HOME%";
  649.     install_drive    = explode(install_loc, "\", TRUE);
  650.     driveletter    = first(install_drive);
  651.     driveslash    = first(rest(install_drive));
  652.     drive_list    = list(driveletter, driveslash);
  653.     drive        = implode(drive_list);
  654.         user_dir_list   = rest(install_drive);
  655.         user_dir        = implode(user_dir_list);
  656.     new_seed_path = FALSE;
  657.  
  658.         if (win32_compressed_path(drive))     
  659.     {
  660.        if (install_seed_database)
  661.            {    
  662.         if (db_type == "STD")
  663.             seedsize = seedstd_total;
  664.         else
  665.             seedsize = seedrep_total;
  666.         non_comp_drives = list();
  667.         avail_drives = dos_mapped_drives();
  668.         drive_choices = list();
  669.         while (not(empty(avail_drives)))
  670.         {
  671.             valid_drive = TRUE;
  672.             check_vol = first(avail_drives);
  673.             check_colon = ":";
  674.             check_list = list(check_vol, check_colon);
  675.             check_drive = implode(check_list);
  676.             { drive_type = dos_file_system_type(check_drive); }
  677.             [ 'OS_ERROR: valid_drive = FALSE; ]
  678.             if (valid_drive)
  679.             {
  680.                 new_drive_list = list(check_drive, driveslash);
  681.                 new_drive = implode(new_drive_list);
  682.                 if ((drive_type == 'FAT) || (drive_type == 'HPFS))                {
  683.                     if ((not(win32_compressed_path(new_drive))) && (seedsize < free_space(check_drive)))
  684.                     {
  685.                         add(drive_choices, check_drive);
  686.                     }
  687.                 }
  688.             }
  689.             avail_drives = rest(avail_drives);
  690.         }
  691.         if (empty(drive_choices))
  692.         {
  693.             signal('FAILURE, no_uncomp_drives);
  694.         }
  695.         else
  696.         {
  697.             drive_default = first(drive_choices);
  698.             drive_specifier = list('label, drive_label, 'popdown, drive_choices, 'default, drive_default);
  699.                         chosen_drive = first(multiple_text_dialog(choose_drive, list(drive_specifier), drive_content, instantiate(drive_help)));
  700.  
  701.                         chosen_home_list = list(chosen_drive, user_dir);
  702.                         rdbms_home = implode(chosen_home_list);
  703.                         chosen_drive_list = list(rdbms_home, "\DATABASE");
  704.             rdbms_files = implode(chosen_drive_list);
  705.             new_seed_path = TRUE;
  706.  
  707.             starterc_path = "%rdbms_files%";
  708.             starter_control = "control_files = %starterc_path%\ctl1orcl.ora";
  709.         }
  710.        }
  711.            else
  712.        {
  713.         information_dialog("%comp_drive_no_seed%");
  714.        }
  715.     }
  716.  
  717.  
  718.      /***********************************************************************
  719.          Return total size of files and set comment string ...
  720.       ***********************************************************************/
  721.  
  722.        dbsum = 0;
  723.        if (install_seed_database)
  724.        {
  725.         comment = nls("w_starter_db","With Starter Database");
  726.     dbsum = dbsum + sum(seed, db_type);
  727.        }
  728.        else
  729.        {
  730.         comment = nls("w_o_starter_db","Without Starter Database");
  731.        }
  732.  
  733.       install_parent = FALSE;
  734.       if (member(selected_products, current_product))
  735.     install_parent = TRUE;
  736.  
  737.       total_sum = 0;
  738.       if (install_parent)
  739.       {
  740.       /********************************************
  741.       Determine sibling products to be co-installed
  742.       *********************************************/
  743.       
  744.     sibling_products = all_child_products(product_parent(current_product));
  745.                     
  746.     extract(sibling_products, current_product);             
  747.     /* ALWAYS verify all siblings before parent */
  748.  
  749.     while(not(empty(sibling_products)))
  750.     {
  751.         if (member(selected_products, first(sibling_products)))
  752.             total_sum = total_sum + verify(first(sibling_products));
  753.         sibling_products = rest(sibling_products);
  754.     }
  755.     total_sum = total_sum + verify(product_parent(current_product));
  756.       }
  757.  
  758.       vsn = "PO7";
  759.       if (web_install)
  760.       {
  761.     vsn = "WEB";
  762.       }
  763.       else
  764.       {
  765.         vsn = "PO7";
  766.       }
  767.  
  768.       return(verify(w95rsf72) + verify(w95util72) + sum(deinstl, exec, vsn, twotask, dll, vsn, doc, help, init, sql, res, nls_abbreviation, msg, nls_abbreviation) + dbsum + total_sum);
  769.     }
  770.   else
  771.     {
  772.       refresh_map_file = FALSE;
  773.       return(0);
  774.     }
  775. }
  776.